home *** CD-ROM | disk | FTP | other *** search
/ Ray Dream Studio / Ray Dream Studio (CDRAYD1) (Ray Dream) (1995).iso / DREAMSDK.WIN / INCLUDE / I3DEXLNK.H < prev    next >
C/C++ Source or Header  |  1995-09-23  |  3KB  |  58 lines

  1. /* $Id: I3DEXLNK.H 1.3 1995/09/19 03:01:36 PascalF Exp $ */
  2. /*****************************************************************************\
  3. *                                                                             *
  4. * I3DExLnk.h -     I3DExMotionLink definition                                                  *
  5. *                                                                             *
  6. *           Copyright (c) 1995, Ray Dream, Inc. All rights reserved.          *
  7. *                                                                             *
  8. \*****************************************************************************/
  9.  
  10. #ifndef __I3DEXLNK__
  11. #define __I3DEXLNK__
  12.  
  13. #ifndef __I3DEX__
  14. #include "I3DEx.h"
  15. #endif
  16.  
  17.  
  18. //****** Globally Unique Ids *************************************************
  19.  
  20. DEFINE_GUID(IID_I3DExMotionLink, 0x5C9601A0L, 0x7CC3, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
  21.  
  22. /*****************************************************************************\
  23. *  I3DExMotionLink                                                            *
  24. *                                                                             *
  25. *  Motion Links between Tree Elements                                         *
  26. *                                                                             *
  27. \*****************************************************************************/
  28.  
  29. #undef  INTERFACE
  30. #define INTERFACE   I3DExMotionLink
  31.  
  32. DECLARE_INTERFACE_(I3DExMotionLink, I3DExDataExchanger) {
  33.     // IUnknown methods
  34.   STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  35.   STDMETHOD_(ULONG, AddRef) (THIS) PURE;
  36.   STDMETHOD_(ULONG, Release) (THIS) PURE;
  37.   
  38.     // I3DExtension methods
  39.     STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
  40.     STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
  41.  
  42.   // I3DExDataExchanger methods
  43.     STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
  44.     STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
  45.   STDMETHOD(ExtensionDataChanged) (THIS) PURE;
  46.   STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
  47.     STDMETHOD_(short, GetResID) (THIS) PURE;
  48.   
  49.   // I3DExMotionLink methods
  50.     STDMETHOD_(short, GetNbrFreedom) (THIS) PURE;
  51.   STDMETHOD(IncrementFreedomValue) (THIS_ short index, NUM3D* increment) PURE;
  52.   STDMETHOD(GetFreedomRange) (THIS_ short index, NUM3D* min, NUM3D* max) PURE;
  53.     STDMETHOD(GetTransform) (THIS_ TRANSFORM3D* transform) PURE;
  54.     STDMETHOD(GetTransformPartialDerivate)(THIS_ short index, TRANSFORM3D* transform) PURE;
  55.     };
  56.  
  57. #endif
  58.